package com.golang.api.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.golang.api.annotation.Excel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * 活动标签对象 activity_ticket
 *
 * @author ruoyi
 * @date 2025-01-12
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class ActivityTicket extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 活动编码
     */
    @Excel(name = "活动编码")
    private String activityId;

    /**
     * 票种名称
     */
    @Excel(name = "票种名称")
    private String ticketName;

    /**
     * 票种类型
     */
    @Excel(name = "票种类型")
    private Integer ticketType;

    /**
     * 单价
     */
    @Excel(name = "单价")
    private BigDecimal price;

    /**
     * 最大报名人数
     */
    @Excel(name = "最大报名人数")
    private Integer enrollMaxCount;

    /**
     * 单人限购数量
     */
    @Excel(name = "单人限购数量")
    private Integer limitQuantity;

    /**
     * 剩余可报名数量
     */
    @Excel(name = "剩余可报名数量")
    private Integer leftQuantity;

    /**
     * 购买截止时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "购买截止时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDateTime buyDeadline;

    /**
     * 退款截止时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "退款截止时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDateTime refundDeadline;


}
